home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Genie / Projects / Pedestal / Source / Includes / PedScrollbar.hh < prev    next >
Encoding:
Text File  |  2000-06-24  |  1.2 KB  |  61 lines

  1. /*    ===============
  2.  *    PedScrollbar.hh
  3.  *    ===============
  4.  *    
  5.  *    Implemented by PedScrollbar.cc
  6.  */
  7.  
  8. #pragma once
  9.  
  10. #include "PedControl.hh"
  11.  
  12. enum {
  13.     kPedScrollVertical = 1,
  14.     kPedScrollHorizontal = 2
  15. };
  16.  
  17. enum {
  18.     kPedScrollRedrawOnUpdate = 0,
  19.     kPedScrollRedrawImmediately = 1
  20. };
  21.  
  22. typedef struct SPedScrollInfo {
  23.     Point pt;
  24.     bool update;
  25. } SPedScrollInfo;
  26.  
  27. class PedScrollbar : public PedControl {
  28. public:
  29.     PedScrollbar(PedView &inSuperView, short inOrientation);
  30.     virtual ~PedScrollbar();
  31.     
  32.     virtual void Init();
  33.     
  34.     virtual void Open();
  35.     virtual void Close();
  36.     
  37.     // Pane management
  38.     virtual void SetBounds();
  39.     virtual void SetBounds(const Rect &inBounds);
  40.     virtual void SetStepUnit(short inUnit);
  41.     virtual void SetJumpUnit(short inUnit);
  42.     virtual void Activate();
  43.     virtual void Deactivate();
  44.     //virtual void Resize(short inWidth, short inHeight);
  45.     virtual void Scroll(short inDistance, bool inUpdate = false);
  46.     
  47.     // Event processing
  48.     virtual void DispatchNullEvent(EventRecord &inEvent);
  49.     virtual void DispatchClickEvent(EventRecord &inEvent);
  50.     virtual void ControlAction(short inPart); 
  51.     
  52. protected:
  53.     virtual void Draw();
  54.     virtual void GetCalcBounds(Rect &outBounds);
  55.     
  56.     short mOrientation;
  57.     ControlActionUPP mActionProc;
  58.     short mStepUnit;
  59.     short mJumpUnit;
  60. };
  61.